数据故事

1.数据背景:

  • 自杀死亡是一个非常复杂的问题,自杀不仅仅是一个人生命的结束,更是成千上万人的痛苦,每一次自杀都是悲剧。世界卫生组织(WHO)和全球疾病负担研究估计,每年有近80万人死于自杀,这几乎是每40秒便有一个人选择了自杀。
  • 我尝试从三个方面探寻自杀死亡方面的数据故事,分别是地区年龄性别,每一个部分都能挖掘一些新的故事点。

2.地区

2000年-2017年间的全球各个国家自杀率

  • 这里将自杀人数作为一个总数,显示每10万个自杀的人群中,每个国家占了多少个人,直观地将国家间的自杀率展示出来。
In [11]:
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Pie,Map,Bar,Tab,Line,Map,Timeline,Grid,Scatter

df=pd.read_csv("suiciderate5.csv")
df
Out[11]:
Entity 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017
0 Afghanistan 11.094743 11.175178 11.054472 10.931093 10.839790 10.655626 10.538475 10.391129 10.219154 10.036657 9.875393 9.721869 9.570651 9.447661 9.346731 9.319114 9.251600 9.188568
1 Albania 4.867020 5.051084 5.266104 5.464626 5.631024 5.616377 5.500652 5.329979 5.421476 5.286600 5.257754 5.239572 5.199617 5.196816 5.216570 5.191083 5.155579 5.108781
2 Algeria 5.268359 5.265956 5.249789 5.098786 5.039529 4.967049 4.881889 4.790792 4.691238 4.603041 4.507493 4.462070 4.388442 4.349270 4.329457 4.291622 4.187815 4.124306
3 American Samoa 6.614259 6.664234 6.655361 6.640536 6.513566 6.370167 6.294536 6.360882 6.477088 6.474943 6.559890 6.609073 6.641878 6.663811 6.684827 6.792610 6.753623 6.738545
4 Andean Latin America 5.992087 5.804330 5.901377 6.019007 6.050252 6.094924 6.024279 6.046650 6.115917 6.232463 6.227207 6.133323 5.975953 5.724302 5.555712 5.467846 5.410889 5.389730
5 Andorra 9.533035 9.406466 9.271336 9.208444 9.205391 9.067002 8.947917 8.837502 8.738517 8.657293 8.562680 8.436108 8.387059 8.290929 8.083800 7.967667 7.944370 7.912273
6 Angola 15.780429 15.404440 14.947012 14.834512 14.900544 14.413478 14.239180 13.880482 13.611037 13.390234 13.177998 13.048443 12.931370 12.740105 12.335100 12.169015 11.988164 11.966305
7 Antigua and Barbuda 2.624642 2.592134 2.583097 2.596713 2.595665 2.601678 2.589963 2.585439 2.627150 2.645782 2.660230 2.687919 2.657854 2.659582 2.677567 2.682501 2.664482 2.650124
8 Argentina 12.288355 12.463503 12.449928 11.833602 11.045600 10.899048 10.866984 11.181629 11.123394 11.042458 10.783922 10.904341 11.064279 11.074010 10.820289 10.570321 10.627446 10.609682
9 Armenia 3.715407 3.906863 4.142097 4.386587 5.023305 5.821916 6.792788 7.024678 7.697775 8.128306 8.513011 8.749871 8.847523 8.602339 8.517576 8.522066 8.464024 8.263799
10 Australasia 12.565278 12.014538 11.628906 11.314493 10.998739 10.774245 10.584387 10.831809 10.945079 10.947482 10.934481 10.820451 10.676790 10.630708 10.959646 11.225403 11.097693 11.082209
11 Australia 12.443259 11.794196 11.356993 10.975374 10.653485 10.414253 10.255009 10.540822 10.696836 10.740312 10.758437 10.645355 10.494145 10.533590 10.962727 11.277802 11.081870 11.046885
12 Austria 15.916630 15.382627 15.126150 14.657626 14.209846 13.797735 13.088691 12.900152 12.487580 12.879621 12.782930 12.459838 12.133218 11.891661 11.841427 11.770476 11.420546 11.202157
13 Azerbaijan 3.137435 3.530223 3.724613 4.030180 4.328853 4.601098 4.833657 5.143127 4.945722 4.798192 4.726909 4.649639 4.537995 4.436539 4.332897 4.202943 4.107188 4.071032
14 Bahamas 3.195062 3.106690 2.997782 2.986368 2.957949 2.916657 2.951952 2.960269 3.010864 3.048829 3.083001 3.122922 3.130892 3.119303 3.156458 3.161860 3.169523 3.172299
15 Bahrain 7.190975 7.451075 7.557238 7.721512 7.939496 7.779530 7.290588 6.881515 6.389655 5.838648 5.303096 4.932406 4.729991 4.436463 4.272503 4.268415 4.249786 4.227150
16 Bangladesh 7.882312 7.636250 7.413376 7.177900 7.205385 7.324500 7.505360 7.646553 7.638142 7.462348 7.482377 7.061708 6.732162 6.487200 6.427481 6.217116 6.040777 6.032121
17 Barbados 4.538947 4.395258 4.454249 4.491566 4.479657 4.401617 4.322655 4.200245 4.193634 4.128722 4.111697 4.029116 3.946698 3.953020 3.935125 3.952914 3.958051 3.974272
18 Belarus 33.727580 35.055114 36.953628 35.739834 34.536258 35.077728 33.110922 30.363819 30.480325 29.896943 29.217600 29.242690 24.281146 22.566442 21.095540 19.585320 18.854179 19.034873
19 Belgium 18.497711 18.221018 17.774766 17.299094 16.584310 16.432605 15.947271 16.174338 16.431435 16.327750 16.173555 16.322368 16.105321 15.629297 15.070784 14.909187 14.422615 14.275319
20 Belize 9.048533 8.915739 8.546258 8.371474 8.260771 8.010595 7.774410 7.590518 7.480915 7.463919 7.489033 7.614992 7.510386 7.484312 7.424652 7.526193 7.784886 7.832834
21 Benin 12.260018 12.281902 12.293845 12.207448 12.100157 11.967875 11.892615 11.800921 11.733352 11.684651 11.690771 11.714024 11.747866 11.666197 11.533435 11.383383 11.234851 11.137863
22 Bermuda 4.096744 3.960365 3.858002 3.811070 3.761270 3.724056 3.674926 3.634380 3.630524 3.619930 3.626654 3.575806 3.582876 3.582953 3.505936 3.467461 3.449200 3.428443
23 Bhutan 7.133372 6.962672 6.793900 6.718548 6.609033 6.545564 6.443720 6.369432 6.283662 6.195510 6.111584 6.050096 5.995024 5.944347 5.892241 5.837236 5.784971 5.717799
24 Bolivia 8.171102 7.997725 7.941279 7.794261 7.650739 7.442832 7.333737 7.271033 7.155541 7.063533 6.966135 6.850587 6.736758 6.640963 6.544666 6.490374 6.445286 6.410848
25 Bosnia and Herzegovina 8.694873 8.259431 7.832694 7.363201 6.900052 6.920025 6.684985 6.917078 6.547736 6.314112 6.112303 5.961876 6.233897 6.632647 7.007268 7.002741 6.933260 6.847151
26 Botswana 13.081869 13.073688 13.083006 13.071583 12.830665 12.304054 11.768465 10.861913 10.925237 10.913320 10.818928 10.786223 10.593727 10.489160 10.423719 10.326023 10.120453 10.007561
27 Brazil 6.331652 6.318188 6.272734 6.266385 6.246677 6.173933 6.063732 6.025635 6.007048 6.013117 5.968094 6.015858 6.051262 6.033517 5.996478 5.979826 6.070050 6.089304
28 Brunei 3.974281 4.119372 4.325189 4.541744 4.737014 4.921743 5.077792 5.256605 5.405422 5.582966 5.720005 5.839718 5.950597 6.049182 6.091570 6.098528 6.123050 6.224964
29 Bulgaria 15.529749 14.793822 13.990512 13.054736 12.371628 11.812418 11.417547 10.858903 10.550661 10.124329 9.765582 9.495240 9.208980 8.961947 9.271611 9.240623 9.373284 9.480820
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
201 Taiwan 13.891980 14.851278 15.385172 16.118597 17.068263 18.233026 18.014710 17.280113 16.613638 15.770751 15.101929 15.092014 14.523847 13.689623 13.615883 13.180563 13.398088 13.524313
202 Tajikistan 4.618119 4.560520 4.556412 4.591365 4.670393 4.879697 4.981220 5.084134 5.157335 5.219448 5.292796 5.398036 5.423748 5.443070 5.569520 5.658542 5.848133 5.753966
203 Tanzania 10.103309 9.779676 9.415080 9.176051 8.913529 8.865549 8.812683 8.816295 8.773406 8.688156 8.602297 8.554688 8.636763 8.711965 8.723488 8.764310 8.797741 8.817062
204 Thailand 16.782791 15.493983 15.096205 14.243193 12.851800 11.656391 11.381524 11.093595 10.896994 10.477691 10.562110 10.437600 10.237751 9.911234 9.966115 10.035680 10.303199 10.442473
205 Timor 9.000585 8.623186 8.362441 8.284976 8.156225 7.954698 7.694541 7.540843 7.409664 7.298294 7.217731 7.189391 7.179841 7.201326 7.277818 7.328920 7.360243 7.370244
206 Togo 13.129146 13.179920 13.160280 13.302232 13.113217 13.074229 13.011625 12.992677 13.104898 13.052548 13.060183 12.993744 12.868794 12.723625 12.537315 12.391366 12.308903 12.260245
207 Tonga 5.799580 5.811596 5.946015 5.979634 5.977075 5.973522 5.966536 5.997748 5.943216 5.954598 6.050736 6.048664 6.052980 6.051566 6.047446 6.037796 6.005841 5.966460
208 Trinidad and Tobago 12.871064 12.595349 12.261466 12.091425 12.200823 11.885458 11.268632 11.484606 12.513611 11.604791 10.911325 10.129316 9.942784 10.149562 10.101242 9.979156 10.041672 10.122698
209 Tropical Latin America 6.311577 6.299080 6.258512 6.260875 6.250864 6.179513 6.072497 6.030311 6.013278 6.025352 5.978375 6.021984 6.052722 6.040374 6.002491 5.982397 6.069855 6.087823
210 Tunisia 3.666668 3.641368 3.616326 3.586754 3.549973 3.518088 3.491115 3.449204 3.403479 3.371664 3.345577 3.300596 3.259765 3.225221 3.194605 3.166266 3.136992 3.110925
211 Turkey 3.445262 3.271157 3.083353 3.081638 3.062407 3.105206 3.092309 3.040680 3.022156 3.125181 3.138472 3.137035 3.164254 3.243147 3.348256 3.344761 3.349188 3.310770
212 Turkmenistan 11.384295 11.545077 11.942285 12.183614 12.777578 13.340818 13.093610 12.254333 11.248474 9.845130 9.142598 8.913967 8.802167 8.921983 8.863911 8.507999 8.730909 8.682978
213 Uganda 18.134076 18.083687 17.749798 17.311953 16.914105 16.425974 15.732902 15.080158 14.386317 13.867337 13.383047 12.966840 12.701890 12.548780 12.300292 11.905689 11.595887 11.543962
214 Ukraine 29.551994 28.064755 27.582096 26.494049 26.495452 26.172777 24.467364 25.570105 25.185406 21.165280 19.555387 18.840541 19.174746 19.951833 20.112421 28.421395 27.966063 25.622225
215 United Arab Emirates 4.773269 4.720284 4.718140 4.981370 5.262219 5.299608 5.338175 5.318901 5.101350 5.134645 5.149191 5.139012 5.166072 5.174148 5.163182 5.149067 5.113127 5.074792
216 United Kingdom 8.506222 8.262233 8.122756 7.914078 7.590408 7.438993 7.651465 7.590780 7.719288 7.589162 7.455079 7.234665 7.050278 7.192883 7.147945 7.272896 7.368400 7.356321
217 United States 10.909797 11.080919 11.296453 11.367989 11.254950 11.507452 11.633350 11.676889 11.764397 11.839134 11.747920 11.948002 11.996661 12.038785 12.193176 12.505123 12.841485 12.835757
218 United States Virgin Islands 6.300634 6.260309 6.091909 6.021567 5.947972 5.807232 5.781088 5.784303 5.812721 5.891248 5.980615 5.997058 6.069721 6.147705 6.208381 6.283120 6.270592 6.297083
219 Uruguay 16.528898 16.235795 17.190162 16.591032 16.345260 16.109817 15.977976 16.892747 16.144837 16.101413 16.249136 16.869601 17.174189 17.092573 16.880857 17.119112 17.000352 16.818157
220 Uzbekistan 10.913556 10.908030 10.730802 10.612988 10.897578 11.131787 10.571539 10.236742 9.849152 9.383051 9.153785 9.299063 9.549741 9.680987 9.827915 9.529770 9.475539 9.386930
221 Vanuatu 19.336099 19.169414 19.079729 18.940197 18.805782 18.704198 18.557953 18.509260 18.395779 18.286054 18.162628 18.041546 17.962616 17.860571 17.794051 17.755550 17.731938 17.699601
222 Venezuela 10.056471 10.147358 9.933864 9.906560 8.838450 8.332041 8.502080 8.651717 8.800529 8.688548 8.212972 8.173200 8.543415 8.394513 8.445635 8.524199 8.599015 8.677951
223 Vietnam 8.618051 8.475545 8.369112 8.310766 8.242143 8.155734 8.054189 7.940879 7.856174 7.801783 7.702341 7.613471 7.554715 7.525523 7.503921 7.481463 7.460807 7.422038
224 Wales 9.589447 9.207585 9.071552 9.125857 8.577450 8.191798 8.548150 8.616655 8.519525 8.395342 8.299229 8.327406 8.328088 8.266527 7.789950 8.273340 8.523388 8.597607
225 Western Europe 10.989305 10.760254 10.576681 10.386559 9.945347 9.736010 9.552780 9.449315 9.439766 9.436263 9.314848 9.194732 9.001483 8.908075 8.683052 8.685627 8.566271 8.515450
226 Western Sub-Saharan Africa 10.328492 10.259557 10.191081 10.102258 10.016685 9.881365 9.848211 9.785067 9.725540 9.726499 9.765867 9.706565 9.678041 9.627962 9.612866 9.571174 9.557752 9.496388
227 World 14.095734 13.416016 12.988635 12.804718 12.602448 12.488875 12.040679 11.712701 11.554691 11.368960 11.238180 11.015417 10.726284 10.451020 10.311362 10.158488 10.068275 9.976258
228 Yemen 6.827571 6.776791 6.739428 6.664776 6.588213 6.495503 6.419888 6.351012 6.304505 6.238556 6.145166 6.097822 6.028458 5.965535 5.922168 5.942086 5.977991 6.013435
229 Zambia 16.975593 16.296907 15.685493 15.235793 14.721122 14.341712 14.070592 13.698130 13.612518 13.385373 13.410839 13.363202 13.241580 13.123304 13.057704 13.073490 13.104819 13.060061
230 Zimbabwe 30.026236 31.703251 33.968494 34.415415 35.192567 35.264474 34.982459 34.554373 34.302704 33.619483 32.366555 30.683676 29.345898 28.361200 27.605547 27.197061 26.839591 26.391769

231 rows × 19 columns

In [12]:
def timeline_map() -> Timeline:
    tl = Timeline()
    for i in range(2000, 2018):
        tl.add_schema(orient= "horizontal",
                     axis_type="category", symbol='none',play_interval= 3,is_auto_play= False,
                     )
        map0 = (
            Map()
            .add(
                "Country",list(zip(list(df.Entity),list(df["{}".format(i)]))), "world",is_map_symbol_show =False,
            )
         
            .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
            .set_global_opts(
                title_opts=opts.TitleOpts(title="{}年全球自杀死亡率数据".format(i)),
                visualmap_opts=opts.VisualMapOpts(max_=40),
            )
        )
        tl.add(map0, "{}年".format(i))
    return tl
timeline_map().render_notebook()
Out[12]:

2.1 猜想

从整体上可以看出,北半球国家的自杀率普遍高于南半球,赤道以外自杀率递增,原因或许跟阳光日照有关,太阳辐射从赤道向两极递减,越是少能见到阳光的国家,自杀率越是高,而同时纬度越高的国家,自杀率也越高,这里猜想跟气候温度有关,平均温度越高的国家,自杀率越是高。

2.2验证猜想

In [38]:
df1=pd.read_csv('sun.csv')
df1
Out[38]:
Entity 2017
0 Afghanistan 54.422205
1 Albania 104.870693
2 Algeria 17.347874
3 American Samoa 278.205000
4 Andorra 163.755319
5 Angola 23.890425
6 Antigua and Barbuda 231.845454
7 Arab World 30.429434
8 Argentina 16.176856
9 Armenia 102.931156
10 Aruba 584.800000
11 Australia 3.202027
12 Austria 106.748567
13 Azerbaijan 119.308869
14 Bahamas 39.496603
15 Bahrain 1935.906615
16 Bangladesh 1265.036114
17 Barbados 664.462791
18 Belarus 46.857597
19 Belgium 375.563672
20 Belize 16.426173
21 Benin 99.110429
22 Bermuda 1308.820000
23 Bhutan 21.187659
24 Bolivia 10.201791
25 Bosnia and Herzegovina 68.496426
26 Botswana 4.043656
27 Brazil 25.040054
28 British Virgin Islands 207.973333
29 Brunei 81.346679
... ... ...
231 Switzerland 214.242762
232 Syrian Arab Republic 99.492828
233 Tajikistan 64.281289
234 Tanzania 64.698599
235 Thailand 135.131854
236 Timor 87.176261
237 Togo 143.366317
238 Tonga 150.027778
239 Trinidad and Tobago 266.885965
240 Tunisia 74.228418
241 Turkey 104.914076
242 Turkmenistan 12.253048
243 Turks and Caicos Islands 37.311579
244 Tuvalu 373.066667
245 Uganda 213.759017
246 Ukraine 77.389838
247 United Arab Emirates 112.441926
248 United Kingdom 272.898247
249 United States 35.607765
250 United States Virgin Islands 306.480000
251 Upper middle income 46.387636
252 Uruguay 19.750600
253 Uzbekistan 76.133521
254 Vanuatu 22.661526
255 Venezuela 36.253121
256 Vietnam 308.126552
257 World 58.044986
258 Yemen 53.507624
259 Zambia 22.994834
260 Zimbabwe 42.729492

261 rows × 2 columns

In [39]:
pde=list(zip(list(df1.Entity),(df1['2017'])))
In [40]:
def world() -> Map:
    c = (
        Map()
        .add("entity", pde, "world",is_map_symbol_show =False)
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(
            title_opts=opts.TitleOpts(title="各国日照时长率"),
            visualmap_opts=opts.VisualMapOpts(max_=80,min_=0.1),
        )
    )
    return c
各国日照时长=world()
各国日照时长.render_notebook()
Out[40]:

2.3 结论

这里可以看出,日照率随着赤道向两极递减,与全球自杀率基本一致,可以验证我的猜想。比较经典的是北欧国家格林兰岛,格林兰岛的自杀率常年居于世界第一,这与格林兰岛每年的极昼极夜能关联上,同时格林兰岛是最靠近北极的岛屿,在最漫长的极夜里,无法吸取阳光日照,同时冬夜平均气温低于零下40度,是仅次于南极洲的第二个“寒极”,这与格林兰岛极居高不下的自杀率关系甚大。

3 年龄

分成年龄段为0-14岁/15-49岁/50-69岁/70岁以上来分析自杀率

In [190]:
df1=pd.read_csv("compare.csv",encoding="gbk")
df1
Out[190]:
Year 1990 1991 1992 1993 1994 1995 1996 1997 1998 ... 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017
0 70岁以上 38.710428 38.979515 38.813657 38.893198 38.825240 38.410888 37.409538 36.763718 36.257344 ... 31.578588 31.140403 30.752046 30.000876 29.220583 28.264226 27.888527 27.791495 27.565517 27.450185
1 50-69岁 22.684515 22.819809 23.059031 23.582724 23.808406 23.455928 22.805364 22.300944 21.859739 ... 18.377713 17.864357 17.544291 17.228345 16.967861 16.717253 16.660704 16.695483 16.499460 16.170814
2 15-49岁 18.681315 18.814271 19.253776 19.540873 19.652116 19.530220 18.899823 18.395998 17.933526 ... 13.394346 13.249729 13.143658 12.907863 12.533279 12.196376 12.002644 11.731096 11.656577 11.600663
3 5-14岁 1.133838 1.141763 1.160866 1.147346 1.123125 1.127076 1.102260 1.087323 1.082303 ... 0.746979 0.756755 0.783016 0.782102 0.755606 0.733872 0.713780 0.673204 0.656387 0.625854

4 rows × 29 columns

In [191]:
def timeline_pie() -> Timeline:
    tl = Timeline()
    for i in range(1990, 2018):
        tl.add_schema(orient= "horizontal",
                     axis_type="category", symbol='none',play_interval=18,is_auto_play= False,
                     )
        pie = (
            Pie()
            .add(
                "自杀率年龄分层",
                list(zip(list(df1.Year),list(df1["{}".format(i)]))),
            )
            .set_colors(["black", "darkblue", "orange", "purple", "pink", "orange", "purple"])
            .set_global_opts(title_opts=opts.TitleOpts("{}年自杀率年龄分布".format(i)))
        )
        tl.add(pie, "{}年".format(i))
    return tl
In [195]:
timeline_pie().render_notebook()
Out[195]:

3.1 结论

在人们普遍认知中,自杀一般大多发生在情感、职业发展或者生活突然变化的年轻人身上,,但可视化数据显示,1990-2017年,15-49这个跨越近35岁的年龄阶段,所占到的自杀率高只有全年龄段的四分之一左右,而50-69岁几乎20岁的跨度却也占到了全年龄段的四分之一,而占了全年龄段自杀率二分之一的竟是70岁以上的老年人,并且随着年份推移,70岁以上年龄层的自杀率还有不断上升的可能,造成全球老年人自杀率居高的原因或许在于躯体疾病增多;退休后角色转变,出现抑郁、焦虑等精神问题;老伴或亲友去世,生活孤独;经济因素。

4 性别

通过全球近20年的性别自杀率分析

In [1]:
import pandas as pd
import plotly as py

df2=pd.read_csv("suicidebysex.csv",encoding="gbk")
dfc = df2.set_index("sex")
dfc.head()
Out[1]:
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017
sex
male 19.96 19.780 19.590 19.42 19.170 19.05 18.730 18.48 18.260 17.92 17.69 17.430 17.200 16.960 16.770 16.690 16.53 16.42
both 13.22 13.135 12.895 12.77 12.595 12.49 12.245 12.05 11.895 11.67 11.50 11.315 11.145 10.975 10.845 10.755 10.65 10.56
female 6.48 6.310 6.200 6.12 6.020 5.93 5.760 5.62 5.530 5.42 5.31 5.200 5.090 4.990 4.920 4.820 4.77 4.70
In [2]:
import plotly as py
import plotly.graph_objs as go

male = go.Scatter(
    x=[pd.to_datetime('01/01/{y}'.format(y=x), format="%m/%d/%Y") for x in dfc.columns.values],
    y=dfc.loc["male",:].values,
    name = "男性自杀率"
)

both = go.Scatter(
    x=[pd.to_datetime('01/01/{y}'.format(y=x), format="%m/%d/%Y") for x in dfc.columns.values],
    y=dfc.loc["both",:].values,
    name = "平均自杀率"
)

female = go.Scatter(
    x=[pd.to_datetime('01/01/{y}'.format(y=x), format="%m/%d/%Y") for x in dfc.columns.values],
    y=dfc.loc["female",:].values,
    name = "女性自杀率"
)

layout = dict(xaxis=dict(rangeselector=dict( buttons=list([
                                                dict(count=3,
                                                     label="3年",
                                                     step="year",
                                                     stepmode="backward"),
                                                dict(count=5,
                                                     label="5年",
                                                     step="year",
                                                     stepmode="backward"),
                                                dict(count=10,
                                                     label="10年",
                                                     step="year",
                                                     stepmode="backward"),
                                                dict(step="all")
                                            ])),
                         rangeslider=dict(bgcolor="#70EC57"),
                         title='年份'
                        ),
              yaxis=dict(title='近20年性别自杀率对比'),
              title="近20年性别自杀率对比"               
             )

abc = dict(data=[male,both,female], layout=layout) 
In [3]:
py.offline.iplot(abc, filename = "finish.html")

4.1 猜想

从可视化表可以看出,世界男性的自杀率在平均自杀率之上,虽然这个趋势随着年份推移可以看出明显的下降,但男性的自杀率依旧是女性自杀率的2-3倍,这里的原因或许在于相比女性,男性所承担的社会责任和社会压力明显较高,家庭的角色需要承担的经济负担也更大,加之在情绪的宣泄方面又不如女性及时有效,缺乏求助行为,这或许是男性自杀率远远高于女性的原因。

4.2 验证

In [4]:
import pandas as pd
import plotly as py

df3=pd.read_csv("work.csv",encoding="gbk")
dfc = df3.set_index("sex")
dfc.head()
Out[4]:
1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 ... 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017
sex
female 48.025554 48.027061 48.033072 48.089157 48.114513 48.164190 48.363017 48.677926 49.091606 49.359106 ... 50.848616 50.915839 50.918364 50.924912 50.938270 50.950123 50.990892 51.018178 51.053799 51.061269
male 80.168573 80.050604 79.945715 79.755154 79.619017 79.417602 79.189529 79.027009 78.835810 78.740745 ... 76.632101 76.322679 76.038789 75.862108 75.766834 75.629981 75.452084 75.328353 75.132452 75.025377

2 rows × 28 columns

In [5]:
import plotly as py
import plotly.graph_objs as go

male = go.Scatter(
    x=[pd.to_datetime('01/01/{y}'.format(y=x), format="%m/%d/%Y") for x in dfc.columns.values],
    y=dfc.loc["male",:].values,
    name = "男性劳动参与率"
)

female = go.Scatter(
    x=[pd.to_datetime('01/01/{y}'.format(y=x), format="%m/%d/%Y") for x in dfc.columns.values],
    y=dfc.loc["female",:].values,
    name = "女性劳动参与率"
)

layout = dict(xaxis=dict(rangeselector=dict( buttons=list([
                                                dict(count=3,
                                                     label="3年",
                                                     step="year",
                                                     stepmode="backward"),
                                                dict(count=5,
                                                     label="5年",
                                                     step="year",
                                                     stepmode="backward"),
                                                dict(count=10,
                                                     label="10年",
                                                     step="year",
                                                     stepmode="backward"),
                                                dict(step="all")
                                            ])),
                         rangeslider=dict(bgcolor="#70EC57"),
                         title='年份'
                        ),
              yaxis=dict(title='近20年性别参与劳动率对比'),
              title="近20年性别参与劳动率对比"               
             )

abc = dict(data=[male,female], layout=layout) 
py.offline.iplot(abc, filename = "4.html")

4.3 结论

可以看出近20年来,男性的劳动参与率在不断降低,而与此同时女性的劳动参与率在稳健增高,这或许是女性事业意识的觉醒开始占领男性原本的社会工作资源造成男性工作资源占有率不断降低,虽然在整体上还是男性居于上位,但不可否认男性的工作参与率在被女性追平中,这无形增加了男性就业压力,从而增加社会压力,对于男性居高的自杀率也有相关性。

5 总结

从数据看来,自杀无疑是具有群体特征的,无论是高纬度地区人民,还是老年人群体或者男性群体,自杀行为无疑成为当代社会性热点问题之一,数据可视化的目的是促进就是让人们意识到问题的所在,对于自杀问题,人们还需要数据帮助做更多事情。

In [ ]:
 
In [ ]: